package com.example.test.advice.第一章_java开发中常用的方法和准则.建议13_避免为final变量复杂赋值;

import java.io.Serializable;

/**
 * 反序列化时，final变量在以下情况不会被重新赋值
 * 1、通过构造函数为final变量赋值
 * 2、通过方法返回值为final变量赋值
 * 3、final修饰的属性不是基本类型
 */
public class Person implements Serializable {
    private static final long serialVersionUID = 4148696500813897181L;
    //通过方法返回值为final变量赋值
    public final String name =initName();

    //初始化方法名
    public String initName(){

        //return "混世魔王";
        return "德天使";
    }
}
